home *** CD-ROM | disk | FTP | other *** search
/ PC for Alla 2005 May / PC för Alla 0505.iso / fullversioner / realsoft3d / data1.cab / Scripting / scripts / js / oops / r3dc.js < prev    next >
Encoding:
JavaScript  |  2005-04-04  |  31.7 KB  |  1,175 lines

  1.  
  2. // JavaScript wrapper for r3dc.h
  3. // Auto generated file, do not modify by hand
  4. // Copyright ⌐ 2004, Realsoft Graphics Oy
  5.  
  6. var R3_DC_H = 1;
  7. include("oops/r3root.js")
  8. include("oops/r3vector.js")
  9. include("oops/r3color.js")
  10.  
  11.  
  12. var R3CLID_DRAWCONTEXT = 267;
  13.  
  14.  
  15.  
  16.  
  17. // Description: Enable certain buffers for rendering. See ENABLEBUFFER flags below
  18. // Virtual method
  19.  
  20. R3DCM_ENABLEBUFFERS = 267000;
  21.  
  22. function mR3DCM_ENABLEBUFFERS() {
  23.   DoA(this.r3obj, 267000, 0, R3TID_INTEGER, 0);
  24. }
  25.  
  26. // Description: Fetch drawing options. This method is provided only for backward compability. Please use the
  27. //      attribute R3DCA_Options, to get and set these.    
  28. // Virtual method
  29.  
  30. R3DCM_GETOPTIONS = 267001;
  31.  
  32. function mR3DCM_GETOPTIONS() {
  33.   DoA(this.r3obj, 267001, 0, R3TID_INTEGER, 0);
  34. }
  35.  
  36. // Description: Unused    
  37. // Virtual method
  38.  
  39. R3DCM_BITSPERPIXEL = 267002;
  40.  
  41. function mR3DCM_BITSPERPIXEL() {
  42.   DoA(this.r3obj, 267002, 0, R3TID_INTEGER, 0);
  43. }
  44.  
  45. // Description: Clear canvas with given color.
  46. // Virtual method
  47. // p3: Integer, color index
  48.  
  49. R3DCM_CLEAR = 267003;
  50.  
  51. function mR3DCM_CLEAR(p3) {
  52.   DoA(this.r3obj, 267003, p3, R3TID_INTEGER, 0);
  53. }
  54.  
  55. // Description: Copy backdrop image into the visible buffer.
  56.  
  57. R3DCM_SHOWBACKDROP = 267004;
  58.  
  59. function mR3DCM_SHOWBACKDROP() {
  60.   DoA(this.r3obj, 267004, 0, R3TID_INTEGER, 0);
  61. }
  62.  
  63. // Description: Set current color
  64. // Virtual method
  65. // p3: r3Vect4, rgba values for the current color
  66.  
  67. R3DCM_SETCOLORRGBA = 267005;
  68.  
  69. function mR3DCM_SETCOLORRGBA(p3) {
  70.   DoA(this.r3obj, 267005, p3, R3TID_COLOR_RGBA, 0);
  71. }
  72.  
  73. // Description: Set current color by color index.
  74. // Virtual method
  75. // p3: Integer, index    
  76.  
  77. R3DCM_SETCOLORINDEX = 267006;
  78.  
  79. function mR3DCM_SETCOLORINDEX(p3) {
  80.   DoA(this.r3obj, 267006, p3, R3TID_INTEGER, 0);
  81. }
  82.  
  83. // Description: Set current rendering mode. See draw modes below.
  84. // Virtual method
  85. // p3: Integer, draw mode to be set
  86.  
  87. R3DCM_SETDRAWMODE = 267007;
  88.  
  89. function mR3DCM_SETDRAWMODE(p3) {
  90.   DoA(this.r3obj, 267007, p3, R3TID_INTEGER, 0);
  91. }
  92.  
  93. // Description: Set current rendering pattern
  94. // Virtual method
  95. // p3: Integer, see drawing patterns below
  96.  
  97. R3DCM_SETDRAWPATTERN = 267008;
  98.  
  99. function mR3DCM_SETDRAWPATTERN(p3) {
  100.   DoA(this.r3obj, 267008, p3, R3TID_INTEGER, 0);
  101. }
  102.  
  103. // Description: Render rectangle
  104. // Virtual method
  105.  
  106. R3DCM_RECT = 267009;
  107.  
  108. function mR3DCM_RECT() {
  109.   DoA(this.r3obj, 267009, 0, R3TID_INTEGER, 0);
  110. }
  111.  
  112. // Description: Render filled rectangle
  113. // Virtual method
  114.  
  115. R3DCM_RECTFILL = 267010;
  116.  
  117. function mR3DCM_RECTFILL() {
  118.   DoA(this.r3obj, 267010, 0, R3TID_INTEGER, 0);
  119. }
  120.  
  121. // Description: Render line consisting of two points
  122. // Virtual method
  123.  
  124. R3DCM_LINE = 267011;
  125.  
  126. function mR3DCM_LINE() {
  127.   DoA(this.r3obj, 267011, 0, R3TID_INTEGER, 0);
  128. }
  129.  
  130. // Description: Not implemented yet
  131. // Virtual method
  132. // p3: String, string to be printed
  133.  
  134. R3DCM_TEXT = 267012;
  135.  
  136. function mR3DCM_TEXT(p3) {
  137.   DoA(this.r3obj, 267012, p3, R3TID_STRING, 0);
  138. }
  139.  
  140. // Description: Render given number of points
  141. // Virtual method
  142. // p1: Integer, number of points to be rendered
  143. // p2: r3Vect4, colors for points, if null, drawn with current color
  144.  
  145. R3DCM_POINT = 267013;
  146.  
  147. function mR3DCM_POINT(p1, p2) {
  148.   DoA3(this.r3obj, 267013, p1, R3TID_INTEGER, 0, p2, R3TID_COLOR_RGBA, 0, 0, R3TID_INTEGER, 0);
  149. }
  150.  
  151. // Description: Render polygon
  152. // Virtual method
  153. // p1: Integer, number of points in the polygon
  154.  
  155. R3DCM_POLY = 267014;
  156.  
  157. function mR3DCM_POLY(p1) {
  158.   DoA2(this.r3obj, 267014, p1, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  159. }
  160.  
  161. // Description: Render polygon
  162. // Virtual method
  163. // p1: Integer, number of points in the polygon
  164.  
  165. R3DCM_POLYFILL = 267015;
  166.  
  167. function mR3DCM_POLYFILL(p1) {
  168.   DoA2(this.r3obj, 267015, p1, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  169. }
  170.  
  171. // Description: Blit an image to the dc
  172. // Virtual method
  173. // p1: Integer, position for the left
  174. // p2: Integer, position for the top edge
  175. // p3: Object, image object to be blitted
  176.  
  177. R3DCM_BLIT = 267016;
  178.  
  179. function mR3DCM_BLIT(p1, p2, p3) {
  180.   DoA3(this.r3obj, 267016, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  181. }
  182.  
  183. // Description: Initialize DC for scanline rendering
  184. // Virtual method
  185. // p3: Integer, width of the line to be rendered
  186.  
  187. R3DCM_SCANLINEBEGIN = 267017;
  188.  
  189. function mR3DCM_SCANLINEBEGIN(p3) {
  190.   DoA(this.r3obj, 267017, p3, R3TID_INTEGER, 0);
  191. }
  192.  
  193. // Description: tell window that there will be no more scanlines.
  194. // Virtual method
  195.  
  196. R3DCM_SCANLINEEND = 267018;
  197.  
  198. function mR3DCM_SCANLINEEND() {
  199.   DoA(this.r3obj, 267018, 0, R3TID_INTEGER, 0);
  200. }
  201.  
  202. // Description: Write one line of palette indexes into the draw context
  203. // Virtual method
  204. // p1: Integer, offset_x
  205. // p2: Integer, y coordinate
  206.  
  207. R3DCM_SCANLINE8 = 267019;
  208.  
  209. function mR3DCM_SCANLINE8(p1, p2) {
  210.   DoA3(this.r3obj, 267019, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  211. }
  212.  
  213. // Description: Write one line of true color values into the draw context
  214. // Virtual method
  215. // p1: Integer, offset_x
  216. // p2: Integer, y coordinate
  217.  
  218. R3DCM_SCANLINE24 = 267020;
  219.  
  220. function mR3DCM_SCANLINE24(p1, p2) {
  221.   DoA3(this.r3obj, 267020, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  222. }
  223.  
  224. // Description: Do swap buffers for double buffered draw context
  225. // Virtual method
  226.  
  227. R3DCM_SWAPBUFFERS = 267021;
  228.  
  229. function mR3DCM_SWAPBUFFERS() {
  230.   DoA(this.r3obj, 267021, 0, R3TID_INTEGER, 0);
  231. }
  232.  
  233. // Virtual method
  234.  
  235. R3DCM_GETCOLORFORINDEX = 267023;
  236.  
  237. function mR3DCM_GETCOLORFORINDEX() {
  238.   DoA(this.r3obj, 267023, 0, R3TID_INTEGER, 0);
  239. }
  240.  
  241. // Description: Obsolete    
  242.  
  243. R3DCM_TRANSFORMATION = 267024;
  244.  
  245. function mR3DCM_TRANSFORMATION() {
  246.   DoA(this.r3obj, 267024, 0, R3TID_INTEGER, 0);
  247. }
  248.  
  249. // Description: Push screen transformation on transformation stack.
  250.  
  251. R3DCM_PUSHSCREENTRANSFORMATI = 267025;
  252.  
  253. function mR3DCM_PUSHSCREENTRANSFORMATI() {
  254.   DoA(this.r3obj, 267025, 0, R3TID_INTEGER, 0);
  255. }
  256.  
  257. // Description: Fetch screen transformation off the stack.
  258.  
  259. R3DCM_POPSCREENTRANSFORMATIO = 267026;
  260.  
  261. function mR3DCM_POPSCREENTRANSFORMATIO() {
  262.   DoA(this.r3obj, 267026, 0, R3TID_INTEGER, 0);
  263. }
  264.  
  265. // Description: Push given 4x4 matrix onto the stack
  266. // p3: r3Matrix
  267.  
  268. R3DCM_PUSHMATRIX = 267027;
  269.  
  270. function mR3DCM_PUSHMATRIX(p3) {
  271.   DoA(this.r3obj, 267027, p3, R3TID_MATRIX, 0);
  272. }
  273.  
  274. // Description: Fetch matrix off the stack
  275.  
  276. R3DCM_POPMATRIX = 267028;
  277.  
  278. function mR3DCM_POPMATRIX() {
  279.   DoA(this.r3obj, 267028, 0, R3TID_INTEGER, 0);
  280. }
  281.  
  282. // Description: Render 3D polygon.
  283. // p1: Integer, number of points
  284. // p2: Boolean, closed if TRUE
  285. // p3: r3Vect, array of points defining polygon
  286.  
  287. R3DCM_POLY3D = 267029;
  288.  
  289. function mR3DCM_POLY3D(p1, p2, p3) {
  290.   DoA3(this.r3obj, 267029, p1, R3TID_INTEGER, 0, p2, R3TID_BOOLEAN, 0, p3, R3TID_VECTOR, 0);
  291. }
  292.  
  293. // Description: Render given number of points.
  294. // p1: Integer, number of points to be renderer
  295. // p3: r3Vect, point array
  296.  
  297. R3DCM_POINTS3D = 267030;
  298.  
  299. function mR3DCM_POINTS3D(p1, p3) {
  300.   DoA2(this.r3obj, 267030, p1, R3TID_INTEGER, 0, p3, R3TID_VECTOR, 0);
  301. }
  302.  
  303. // Description: Define 3D vertex for primitive defined by R3DCM_BEGIN3D.
  304. // p3: r3Vect, vertex to be defined.
  305.  
  306. R3DCM_VERTEX3D = 267031;
  307.  
  308. function mR3DCM_VERTEX3D(p3) {
  309.   DoA(this.r3obj, 267031, p3, R3TID_VECTOR, 0);
  310. }
  311.  
  312. // Description: Define surface normal for primitive to be renderer. See R3DCM_BEGIN3D method.
  313.  
  314. R3DCM_NORMAL3D = 267032;
  315.  
  316. function mR3DCM_NORMAL3D() {
  317.   DoA(this.r3obj, 267032, 0, R3TID_INTEGER, 0);
  318. }
  319.  
  320. // Description: Begin definition of 3D geometry.
  321.  
  322. R3DCM_BEGIN3D = 267033;
  323.  
  324. function mR3DCM_BEGIN3D() {
  325.   DoA(this.r3obj, 267033, 0, R3TID_INTEGER, 0);
  326. }
  327.  
  328. // Description: Ends definition of geometric object. See R3DCM_BEGIN3D,
  329.  
  330. R3DCM_END3D = 267034;
  331.  
  332. function mR3DCM_END3D() {
  333.   DoA(this.r3obj, 267034, 0, R3TID_INTEGER, 0);
  334. }
  335.  
  336. // Description: Set shaded mode.
  337. // p3: Boolean, TRUE sets shaded mode, FALSE resets.
  338.  
  339. R3DCM_SETSHADED = 267035;
  340.  
  341. function mR3DCM_SETSHADED(p3) {
  342.   DoA(this.r3obj, 267035, p3, R3TID_BOOLEAN, 0);
  343. }
  344.  
  345. // Description: Define ambient light source. This has no geometry.
  346. // Returns: Boolean, TRUE if succeeded
  347. // p1: Number, intensity
  348. // p2: r3Vect4, color of the ambient light
  349.  
  350. R3DCM_LIGHTAMBIENT = 267036;
  351.  
  352. function mR3DCM_LIGHTAMBIENT(p1, p2) {
  353.   return   DoA3(this.r3obj, 267036, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, 0, R3TID_INTEGER, 0);
  354. }
  355.  
  356. // Description: Define point light. See also R3DCM_LIGHTPOINTEXT
  357. // Returns: Boolean, TRUE if succeeded
  358. // p1: Number, intensity
  359. // p2: r3Vect4, color
  360. // p3: r3Vect, position
  361.  
  362. R3DCM_LIGHTPOINT = 267037;
  363.  
  364. function mR3DCM_LIGHTPOINT(p1, p2, p3) {
  365.   return   DoA3(this.r3obj, 267037, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, p3, R3TID_VECTOR, 0);
  366. }
  367.  
  368. // Description: Define distant light. See also R3DCM_LIGHTDISTANTEXT
  369. // Returns: Boolean, TRUE if succeeded
  370. // p1: Number, intensity
  371. // p2: r3Vect4, color
  372. // p3: r3Vect, direction
  373.  
  374. R3DCM_LIGHTDISTANT = 267038;
  375.  
  376. function mR3DCM_LIGHTDISTANT(p1, p2, p3) {
  377.   return   DoA3(this.r3obj, 267038, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, p3, R3TID_VECTOR, 0);
  378. }
  379.  
  380. // Description: Define spot light. See also R3DCM_LIGHTSPOTEXT
  381. // Returns: Boolean, TRUE if succeeded
  382. // p1: Number, intensity
  383. // p2: r3Vect4, color
  384.  
  385. R3DCM_LIGHTSPOT = 267039;
  386.  
  387. function mR3DCM_LIGHTSPOT(p1, p2) {
  388.   return   DoA3(this.r3obj, 267039, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, 0, R3TID_INTEGER, 0);
  389. }
  390.  
  391. // Description: Define texture map
  392. // p1: Integer, width
  393. // p2: Integer, height
  394.  
  395. R3DCM_RGBTEXTURE = 267040;
  396.  
  397. function mR3DCM_RGBTEXTURE(p1, p2) {
  398.   DoA3(this.r3obj, 267040, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  399. }
  400.  
  401. // Description: Define color for vertex defined using R3DCM_VERTEX3D.
  402. // Virtual method
  403. // p3: r3Vect4, color for the vertex
  404.  
  405. R3DCM_VERTEXCOLOR = 267041;
  406.  
  407. function mR3DCM_VERTEXCOLOR(p3) {
  408.   DoA(this.r3obj, 267041, p3, R3TID_COLOR_RGBA, 0);
  409. }
  410.  
  411. // Description: Define specularity for vertex
  412. // Virtual method
  413. // p3: r3Vect4, specular color for the vertex
  414.  
  415. R3DCM_VERTEXSPECULAR = 267042;
  416.  
  417. function mR3DCM_VERTEXSPECULAR(p3) {
  418.   DoA(this.r3obj, 267042, p3, R3TID_COLOR_RGBA, 0);
  419. }
  420.  
  421. // Description: Define shininess for vertex
  422. // Virtual method
  423. // p3: Number, shininess
  424.  
  425. R3DCM_VERTEXSHININESS = 267043;
  426.  
  427. function mR3DCM_VERTEXSHININESS(p3) {
  428.   DoA(this.r3obj, 267043, p3, R3TID_FLOAT, 0);
  429. }
  430.  
  431. // Description: Define emission color for vertex
  432. // Virtual method
  433. // p3: r3Vect4, emission color for the vertex
  434.  
  435. R3DCM_VERTEXEMISSION = 267044;
  436.  
  437. function mR3DCM_VERTEXEMISSION(p3) {
  438.   DoA(this.r3obj, 267044, p3, R3TID_COLOR_RGBA, 0);
  439. }
  440.  
  441. // Description: Define U/V coordinates for the current vertex
  442. // Virtual method
  443.  
  444. R3DCM_VERTEXTEXTURECOORD = 267045;
  445.  
  446. function mR3DCM_VERTEXTEXTURECOORD() {
  447.   DoA(this.r3obj, 267045, 0, R3TID_INTEGER, 0);
  448. }
  449.  
  450. // Description: Begin definition of display list
  451. // Virtual method
  452. // p3: Integer, identifier (name) for the display list
  453.  
  454. R3DCM_NEWDISPLAYLIST = 267046;
  455.  
  456. function mR3DCM_NEWDISPLAYLIST(p3) {
  457.   DoA(this.r3obj, 267046, p3, R3TID_INTEGER, 0);
  458. }
  459.  
  460. // Description: End definition of display list
  461. // Virtual method
  462.  
  463. R3DCM_ENDDISPLAYLIST = 267047;
  464.  
  465. function mR3DCM_ENDDISPLAYLIST() {
  466.   DoA(this.r3obj, 267047, 0, R3TID_INTEGER, 0);
  467. }
  468.  
  469. // Description: Execute given display list.
  470. // Virtual method
  471. // p3: Integer, indentifier of the list to be called
  472.  
  473. R3DCM_CALLDISPLAYLIST = 267048;
  474.  
  475. function mR3DCM_CALLDISPLAYLIST(p3) {
  476.   DoA(this.r3obj, 267048, p3, R3TID_INTEGER, 0);
  477. }
  478.  
  479. // Description: Delete given display list
  480. // Virtual method
  481. // p1: Integer, list to be deleted
  482. // p3: Integer, number of lists to be deleted.
  483.  
  484. R3DCM_DELETEDISPLAYLISTS = 267049;
  485.  
  486. function mR3DCM_DELETEDISPLAYLISTS(p1, p3) {
  487.   DoA2(this.r3obj, 267049, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  488. }
  489.  
  490. // Description: Create a continuous set of display lists
  491. // Virtual method
  492. // p3: Integer, range
  493.  
  494. R3DCM_GENDISPLAYLISTS = 267050;
  495.  
  496. function mR3DCM_GENDISPLAYLISTS(p3) {
  497.   DoA(this.r3obj, 267050, p3, R3TID_INTEGER, 0);
  498. }
  499.  
  500. // Description: Test for display list existence.
  501. // Virtual method
  502. // Returns: Boolean, TRUE if exists.
  503. // p3: Integer, list to be tested
  504.  
  505. R3DCM_ISDISPLAYLIST = 267051;
  506.  
  507. function mR3DCM_ISDISPLAYLIST(p3) {
  508.   return   DoA(this.r3obj, 267051, p3, R3TID_INTEGER, 0);
  509. }
  510.  
  511. // Description: Disable lighiting if shaded mode is set
  512.  
  513. R3DCM_DISABLELIGHTING = 267052;
  514.  
  515. function mR3DCM_DISABLELIGHTING() {
  516.   DoA(this.r3obj, 267052, 0, R3TID_INTEGER, 0);
  517. }
  518.  
  519. // Description: Enable lighiting again if shaded mode is set
  520.  
  521. R3DCM_ENABLELIGHTING = 267053;
  522.  
  523. function mR3DCM_ENABLELIGHTING() {
  524.   DoA(this.r3obj, 267053, 0, R3TID_INTEGER, 0);
  525. }
  526.  
  527. // Description: Disable depth test if shaded mode is set
  528.  
  529. R3DCM_DISABLEDEPTHTEST = 267054;
  530.  
  531. function mR3DCM_DISABLEDEPTHTEST() {
  532.   DoA(this.r3obj, 267054, 0, R3TID_INTEGER, 0);
  533. }
  534.  
  535. // Description: enable depth test again if shaded mode is set
  536.  
  537. R3DCM_ENABLEDEPTHTEST = 267055;
  538.  
  539. function mR3DCM_ENABLEDEPTHTEST() {
  540.   DoA(this.r3obj, 267055, 0, R3TID_INTEGER, 0);
  541. }
  542.  
  543. // Description: Push/pop given 4x4 matrix onto the stack
  544. // Virtual method
  545. // p3: r3Matrix
  546.  
  547. R3DCM_POPTEXTUREMATRIX = 267057;
  548.  
  549. function mR3DCM_POPTEXTUREMATRIX(p3) {
  550.   DoA(this.r3obj, 267057, p3, R3TID_MATRIX, 0);
  551. }
  552.  
  553. // Description: Use spherical mapping to define uv texture coordinates
  554. // Virtual method
  555.  
  556. R3DCM_SPHEREMAP = 267058;
  557.  
  558. function mR3DCM_SPHEREMAP() {
  559.   DoA(this.r3obj, 267058, 0, R3TID_INTEGER, 0);
  560. }
  561.  
  562. // Description: Draw icon
  563. // p1: Integer, left coordinate
  564. // p2: Integer, top
  565. // p3: Object, icon object    
  566.  
  567. R3DCM_DRAWICON = 267059;
  568.  
  569. function mR3DCM_DRAWICON(p1, p2, p3) {
  570.   DoA3(this.r3obj, 267059, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  571. }
  572.  
  573. // Description: Creates an image buffer for fast drawing
  574. // Virtual method
  575. // Returns: Object, image buffer
  576. // p1: Integer, width of the image
  577. // p2: Integer, height of the image
  578.  
  579. R3DCM_PREPAREIMAGE = 267061;
  580.  
  581. function mR3DCM_PREPAREIMAGE(p1, p2) {
  582.   return   DoA3(this.r3obj, 267061, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, 0, R3TID_INTEGER, 0);
  583. }
  584.  
  585. // Description: Draws an image prepared by the R3DCM_PREPAREIMAGE method
  586. // Virtual method
  587. // p1: Integer, position for the left edge
  588. // p2: Integer, position for the top edge
  589. // p3: Object, image to be blitted
  590.  
  591. R3DCM_IMAGE = 267062;
  592.  
  593. function mR3DCM_IMAGE(p1, p2, p3) {
  594.   DoA3(this.r3obj, 267062, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  595. }
  596.  
  597. // Description: Free resources allocated by the R3DCM_PREPAREIMAGE method
  598. // Virtual method
  599. // p3: Object, image buffer
  600.  
  601. R3DCM_UNPREPAREIMAGE = 267063;
  602.  
  603. function mR3DCM_UNPREPAREIMAGE(p3) {
  604.   DoA(this.r3obj, 267063, p3, R3TID_OBJECT, 0);
  605. }
  606.  
  607. // Description: Backs up a rectangle. Either R3DCM_RESTORERECTANGLE or R3DCM_CANCELRECTANGLE    * (but not both) must be called
  608. //      to free resources allocated by this method.
  609. // Returns: Object, buffer containing the backed-up rectangle
  610.  
  611. R3DCM_BACKUPRECTANGLE = 267064;
  612.  
  613. function mR3DCM_BACKUPRECTANGLE() {
  614.   return   DoA(this.r3obj, 267064, 0, R3TID_INTEGER, 0);
  615. }
  616.  
  617. // Description: Restores the rectangle and frees resources allocated by the R3DCM_BACKUPRECTANGLE method
  618. // Returns: Integer, TRUE
  619. // p3: Object, buffer containing the backed-up rectangle
  620.  
  621. R3DCM_RESTORERECTANGLE = 267065;
  622.  
  623. function mR3DCM_RESTORERECTANGLE(p3) {
  624.   return   DoA(this.r3obj, 267065, p3, R3TID_OBJECT, 0);
  625. }
  626.  
  627. // Description: Frees resources allocated by the R3DCM_BACKUPRECTANGLE method but does not restore the rectangle onto
  628. //      the canvas.
  629. // Virtual method
  630. // Returns: Integer, TRUE
  631. // p3: Object, buffer containing the backed-up rectangle
  632.  
  633. R3DCM_CANCELRECTANGLE = 267066;
  634.  
  635. function mR3DCM_CANCELRECTANGLE(p3) {
  636.   return   DoA(this.r3obj, 267066, p3, R3TID_OBJECT, 0);
  637. }
  638.  
  639. // Description: Return enabled buffer flags. See ENABLEBUFFER flags below
  640. // Virtual method
  641. // Returns: Integer, flags
  642.  
  643. R3DCM_GETENABLEDBUFFERS = 267067;
  644.  
  645. function mR3DCM_GETENABLEDBUFFERS() {
  646.   return   DoA(this.r3obj, 267067, 0, R3TID_INTEGER, 0);
  647. }
  648.  
  649. // Description: Get current rendering mode. See draw modes below.
  650. // Virtual method
  651. // Returns: Integer, draw mode
  652.  
  653. R3DCM_GETDRAWMODE = 267068;
  654.  
  655. function mR3DCM_GETDRAWMODE() {
  656.   return   DoA(this.r3obj, 267068, 0, R3TID_INTEGER, 0);
  657. }
  658.  
  659. // Description: Set line width
  660. // p3: Number, line width in pixels    
  661.  
  662. R3DCM_SETLINEWIDTH = 267069;
  663.  
  664. function mR3DCM_SETLINEWIDTH(p3) {
  665.   DoA(this.r3obj, 267069, p3, R3TID_FLOAT, 0);
  666. }
  667.  
  668. // Description: Get current line width
  669. // p3: Number, line width    
  670.  
  671. R3DCM_GETLINEWIDTH = 267070;
  672.  
  673. function mR3DCM_GETLINEWIDTH(p3) {
  674.   DoA(this.r3obj, 267070, p3, R3TID_FLOAT, 0);
  675. }
  676.  
  677. // Description: Begin motion blur rendering
  678. // p3: Integer, number of samples per frame    
  679.  
  680. R3DCM_BEGINMOTION = 267071;
  681.  
  682. function mR3DCM_BEGINMOTION(p3) {
  683.   DoA(this.r3obj, 267071, p3, R3TID_INTEGER, 0);
  684. }
  685.  
  686.  
  687. R3DCM_ENDMOTION = 267072;
  688.  
  689. function mR3DCM_ENDMOTION() {
  690.   DoA(this.r3obj, 267072, 0, R3TID_INTEGER, 0);
  691. }
  692.  
  693. // Description: Begin frame rendering. Subsequent swap buffers are taken as samples for the frame
  694. // p3: Integer, frame to be rendered    
  695.  
  696. R3DCM_BEGINFRAME = 267073;
  697.  
  698. function mR3DCM_BEGINFRAME(p3) {
  699.   DoA(this.r3obj, 267073, p3, R3TID_INTEGER, 0);
  700. }
  701.  
  702. // Description: Show motion blurred frame.
  703.  
  704. R3DCM_ENDFRAME = 267074;
  705.  
  706. function mR3DCM_ENDFRAME() {
  707.   DoA(this.r3obj, 267074, 0, R3TID_INTEGER, 0);
  708. }
  709.  
  710. // Description: Begin sample
  711. // p3: Integer, sample to be rendered, must be between 0 ... samples/frame-1    
  712.  
  713. R3DCM_BEGINSAMPLE = 267075;
  714.  
  715. function mR3DCM_BEGINSAMPLE(p3) {
  716.   DoA(this.r3obj, 267075, p3, R3TID_INTEGER, 0);
  717. }
  718.  
  719.  
  720. R3DCM_ENDSAMPLE = 267076;
  721.  
  722. function mR3DCM_ENDSAMPLE() {
  723.   DoA(this.r3obj, 267076, 0, R3TID_INTEGER, 0);
  724. }
  725.  
  726. // Description: Draw icon
  727. // p1: r3Vect, position in obj space
  728. // p2: r3Vect, position in screen coordinates
  729. // p3: Object, icon object    
  730.  
  731. R3DCM_DRAWICON3D = 267080;
  732.  
  733. function mR3DCM_DRAWICON3D(p1, p2, p3) {
  734.   DoA3(this.r3obj, 267080, p1, R3TID_VECTOR, 0, p2, R3TID_VECTOR, 0, p3, R3TID_OBJECT, 0);
  735. }
  736.  
  737. // Description: Define point light with extended atttributes
  738. // Virtual method
  739. // Returns: Boolean, TRUE if succeeded
  740. // p1: Number, intensity
  741. // p2: r3Vect4, color
  742.  
  743. R3DCM_LIGHTPOINTEXT = 267081;
  744.  
  745. function mR3DCM_LIGHTPOINTEXT(p1, p2) {
  746.   return   DoA3(this.r3obj, 267081, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, 0, R3TID_INTEGER, 0);
  747. }
  748.  
  749. // Description: Define distant light with extended atttributes
  750. // Virtual method
  751. // Returns: Boolean, TRUE if succeeded
  752. // p1: Number, intensity
  753. // p2: r3Vect4, color
  754.  
  755. R3DCM_LIGHTDISTANTEXT = 267082;
  756.  
  757. function mR3DCM_LIGHTDISTANTEXT(p1, p2) {
  758.   return   DoA3(this.r3obj, 267082, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, 0, R3TID_INTEGER, 0);
  759. }
  760.  
  761. // Description: Define spot light with extended atttributes
  762. // Virtual method
  763. // Returns: Boolean, TRUE if succeeded
  764. // p1: Number, intensity
  765. // p2: r3Vect4, color
  766.  
  767. R3DCM_LIGHTSPOTEXT = 267083;
  768.  
  769. function mR3DCM_LIGHTSPOTEXT(p1, p2) {
  770.   return   DoA3(this.r3obj, 267083, p1, R3TID_FLOAT, 0, p2, R3TID_COLOR_RGBA, 0, 0, R3TID_INTEGER, 0);
  771. }
  772.  
  773. // Description: queries whether a channel can be read from the canvas using * the R3DCM_READCHANNELROWBYTE
  774. //      and R3DCM_READCHANNELROWFLOAT methods
  775. // Returns: Integer, TRUE if the specified channel can be read
  776. // p3: Integer, channel to query for (see canvas channels below)
  777.  
  778. R3DCM_GETCHANNELREADINGOPTIO = 267084;
  779.  
  780. function mR3DCM_GETCHANNELREADINGOPTIO(p3) {
  781.   return   DoA(this.r3obj, 267084, p3, R3TID_INTEGER, 0);
  782. }
  783.  
  784. // Description: prepares to read the selected channel from the canvas.
  785. // Returns: Integer, void *, handle to be passed to R3DCM_READCHANNELROWBYTE, R3DCM_READCHANNELROWFLOAT    * and R3DCM_BEGINREADCHANNEL methods. NULL if
  786. //      the method fails.
  787. // p3: Integer, channel to read (see canvas channels below)
  788.  
  789. R3DCM_BEGINREADCHANNEL = 267085;
  790.  
  791. function mR3DCM_BEGINREADCHANNEL(p3) {
  792.   return   DoA(this.r3obj, 267085, p3, R3TID_INTEGER, 0);
  793. }
  794.  
  795. // Description: frees resources allocated by R3DCM_BEGINREADCHANNEL method.
  796. // Returns: Integer, TRUE if successful
  797. // p3: Object, handle allocated by R3DCM_BEGINREADCHANNEL method.
  798.  
  799. R3DCM_ENDREADCHANNEL = 267086;
  800.  
  801. function mR3DCM_ENDREADCHANNEL(p3) {
  802.   return   DoA(this.r3obj, 267086, p3, R3TID_OBJECT, 0);
  803. }
  804.  
  805. // Description: read a row of the selected channel from the canvas as bytes.
  806. // Returns: Integer, TRUE if successful
  807. // p1: Object, handle allocated by R3DCM_BEGINREADCHANNEL method.
  808. // p2: Integer, index of the row to read
  809. // p3: Object, buffer to read to
  810.  
  811. R3DCM_READCHANNELROWBYTE = 267087;
  812.  
  813. function mR3DCM_READCHANNELROWBYTE(p1, p2, p3) {
  814.   return   DoA3(this.r3obj, 267087, p1, R3TID_OBJECT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  815. }
  816.  
  817. // Description: read a row of the selected channel from the canvas as R3FLOATs.
  818. // Returns: Integer, TRUE if successful
  819. // p1: Object, handle allocated by R3DCM_BEGINREADCHANNEL method.
  820. // p2: Integer, index of the row to read
  821. // p3: Object, buffer to read to
  822.  
  823. R3DCM_READCHANNELROWFLOAT = 267088;
  824.  
  825. function mR3DCM_READCHANNELROWFLOAT(p1, p2, p3) {
  826.   return   DoA3(this.r3obj, 267088, p1, R3TID_OBJECT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_OBJECT, 0);
  827. }
  828.  
  829. // Description: Returns the owner thread object. Note: DC provides threads a port to rendering to
  830. //      windows. Only the owner thread (the thread that created the dc) is allowed to render
  831. //      to it.
  832. // Returns: Object, owner thread.
  833.  
  834. R3DCM_GETOWNERTHREAD = 267091;
  835.  
  836. function mR3DCM_GETOWNERTHREAD() {
  837.   return R3ToJS(  DoA(this.r3obj, 267091, 0, R3TID_INTEGER, 0));
  838. }
  839.  
  840. // Description: Set current specular color
  841. // Virtual method
  842. // p3: r3Vect4, rgba
  843.  
  844. R3DCM_SETSPECULARCOLORRGBA = 267092;
  845.  
  846. function mR3DCM_SETSPECULARCOLORRGBA(p3) {
  847.   DoA(this.r3obj, 267092, p3, R3TID_COLOR_RGBA, 0);
  848. }
  849.  
  850. // Description: Draw a polygon through vertex index array
  851. // Virtual method
  852. // p1: r3Vect, vertices
  853. // p2: Integer, number of indices
  854. // p3: Integer[], array of vertex indices    
  855.  
  856. R3DCM_DRAWPOLYINDIRECT = 267093;
  857.  
  858. function mR3DCM_DRAWPOLYINDIRECT(p1, p2, p3) {
  859.   DoA3(this.r3obj, 267093, p1, R3TID_VECTOR, 0, p2, R3TID_INTEGER, 0, p3, R3TID_INTEGER, R3TNF_ARRAY);
  860. }
  861.  
  862. // Description: Ask drawing context to restore the contents of the damaged window.
  863. // Virtual method
  864. // Returns: Boolean, FALSE if failed
  865.  
  866. R3DCM_RESTOREFROMBACKUP = 267098;
  867.  
  868. function mR3DCM_RESTOREFROMBACKUP() {
  869.   return   DoA(this.r3obj, 267098, 0, R3TID_INTEGER, 0);
  870. }
  871.  
  872. // Description: Sets whether clockwise or counterclockwise winding generates front-facing faces.
  873. // Virtual method
  874. // p3: Integer, either R3DCWINDING_CLOCKWISE or R3DCWINDING_COUNTERCLOCKWISE
  875.  
  876. R3DCM_SETFRONTFACE = 267108;
  877.  
  878. function mR3DCM_SETFRONTFACE(p3) {
  879.   DoA(this.r3obj, 267108, p3, R3TID_INTEGER, 0);
  880. }
  881.  
  882. // Description: Draw an array of polygons through vertex index arrays
  883. // Virtual method
  884.  
  885. R3DCM_DRAWFACEARRAY = 267111;
  886.  
  887. function mR3DCM_DRAWFACEARRAY() {
  888.   DoA(this.r3obj, 267111, 0, R3TID_INTEGER, 0);
  889. }
  890.  
  891. // Description: Set current emission color
  892. // Virtual method
  893. // p3: r3Vect4, rgba
  894.  
  895. R3DCM_SETEMISSIONCOLORRGBA = 267112;
  896.  
  897. function mR3DCM_SETEMISSIONCOLORRGBA(p3) {
  898.   DoA(this.r3obj, 267112, p3, R3TID_COLOR_RGBA, 0);
  899. }
  900.  
  901.  
  902.  
  903.  
  904. R3DCA_Font = 267500;
  905. function SetR3DCA_Font(value) {
  906.   R3Set(this.r3obj, R3DCA_Font, value, R3TID_OBJECT, 0); 
  907. }
  908.  
  909. R3DCA_Shaded = 267501;
  910. function SetR3DCA_Shaded(value) {
  911.   R3Set(this.r3obj, R3DCA_Shaded, value, R3TID_BOOLEAN, 0); 
  912. }
  913.  
  914. R3DCA_CoordSys = 267502;
  915. function SetR3DCA_CoordSys(value) {
  916.   R3Set(this.r3obj, R3DCA_CoordSys, value, R3TID_COORDSYS, 0); 
  917. }
  918.  
  919. R3DCA_Scale = 267503;
  920. function SetR3DCA_Scale(value) {
  921.   R3Set(this.r3obj, R3DCA_Scale, value, R3TID_FLOAT, 0); 
  922. }
  923.  
  924. R3DCA_Width = 267504;
  925. function SetR3DCA_Width(value) {
  926.   R3Set(this.r3obj, R3DCA_Width, value, R3TID_INTEGER, 0); 
  927. }
  928.  
  929. R3DCA_Height = 267505;
  930. function SetR3DCA_Height(value) {
  931.   R3Set(this.r3obj, R3DCA_Height, value, R3TID_INTEGER, 0); 
  932. }
  933.  
  934. R3DCA_Perspective = 267506;
  935. function SetR3DCA_Perspective(value) {
  936.   R3Set(this.r3obj, R3DCA_Perspective, value, R3TID_BOOLEAN, 0); 
  937. }
  938.  
  939. R3DCA_DoubleBuffer = 267508;
  940. function SetR3DCA_DoubleBuffer(value) {
  941.   R3Set(this.r3obj, R3DCA_DoubleBuffer, value, R3TID_BOOLEAN, 0); 
  942. }
  943.  
  944. R3DCA_Overlay = 267509;
  945. function SetR3DCA_Overlay(value) {
  946.   R3Set(this.r3obj, R3DCA_Overlay, value, R3TID_BOOLEAN, 0); 
  947. }
  948.  
  949. R3DCA_DoubleBufferOverlays = 267510;
  950. function SetR3DCA_DoubleBufferOverlays(value) {
  951.   R3Set(this.r3obj, R3DCA_DoubleBufferOverlays, value, R3TID_BOOLEAN, 0); 
  952. }
  953.  
  954. R3DCA_BackDrop = 267511;
  955. function SetR3DCA_BackDrop(value) {
  956.   R3Set(this.r3obj, R3DCA_BackDrop, value, R3TID_BOOLEAN, 0); 
  957. }
  958.  
  959. var R3DCA_Main = 267512; // Boolean
  960. R3DCA_BackUp = 267513;
  961. function SetR3DCA_BackUp(value) {
  962.   R3Set(this.r3obj, R3DCA_BackUp, value, R3TID_BOOLEAN, 0); 
  963. }
  964.  
  965. var R3DCA_TrueColor = 267514; // Boolean
  966. R3DCA_ClipMinX = 267515;
  967. function SetR3DCA_ClipMinX(value) {
  968.   R3Set(this.r3obj, R3DCA_ClipMinX, value, R3TID_INTEGER, 0); 
  969. }
  970.  
  971. R3DCA_Depth = 267519;
  972. function SetR3DCA_Depth(value) {
  973.   R3Set(this.r3obj, R3DCA_Depth, value, R3TID_INTEGER, 0); 
  974. }
  975.  
  976. R3DCA_MinClipDist = 267523;
  977. function SetR3DCA_MinClipDist(value) {
  978.   R3Set(this.r3obj, R3DCA_MinClipDist, value, R3TID_FLOAT, 0); 
  979. }
  980.  
  981. R3DCA_MaxClipDist = 267524;
  982. function SetR3DCA_MaxClipDist(value) {
  983.   R3Set(this.r3obj, R3DCA_MaxClipDist, value, R3TID_FLOAT, 0); 
  984. }
  985.  
  986. R3DCA_GlobalAlpha = 267529;
  987. function SetR3DCA_GlobalAlpha(value) {
  988.   R3Set(this.r3obj, R3DCA_GlobalAlpha, value, R3TID_FLOAT, 0); 
  989. }
  990.  
  991. function GetR3DCA_GlobalAlpha() {
  992.   return R3Get(this.r3obj, R3DCA_GlobalAlpha, R3TID_FLOAT, 0); 
  993. }
  994.  
  995. R3DCA_NoVertPersp = 267533;
  996. function SetR3DCA_NoVertPersp(value) {
  997.   R3Set(this.r3obj, R3DCA_NoVertPersp, value, R3TID_BOOLEAN, 0); 
  998. }
  999.  
  1000. R3DCA_PixelAspect = 267534;
  1001. function SetR3DCA_PixelAspect(value) {
  1002.   R3Set(this.r3obj, R3DCA_PixelAspect, value, R3TID_FLOAT, 0); 
  1003. }
  1004.  
  1005. R3DCA_Master = 267535;
  1006. function SetR3DCA_Master(value) {
  1007.   R3Set(this.r3obj, R3DCA_Master, value, R3TID_BOOLEAN, 0); 
  1008. }
  1009.  
  1010. function GetR3DCA_Master() {
  1011.   return R3Get(this.r3obj, R3DCA_Master, R3TID_BOOLEAN, 0); 
  1012. }
  1013.  
  1014. var R3RPF_DRAWFRONT = 1;
  1015. var R3RPF_DRAWBACK = 2;
  1016. var R3RPF_DRAWBACKDROP = 4;
  1017. var R3PTRN_SOLID = 0;
  1018. var R3PTRN_DASH = 1;
  1019. var R3PTRN_DOT = 2;
  1020. var RGM_NORMAL = 0;
  1021. var RGM_COMPLEMENT = 1;
  1022. var RGM_OVERLAY = 2;
  1023. var RGM_OVERLAY2 = 3;
  1024. var R3FALLOF_NONE = 0;
  1025. var R3FALLOF_LINEAR = 1;
  1026. var R3FALLOF_QUADRATIC = 2;
  1027. var R3GA_OVERLAY = 1;
  1028. var R3GA_DOUBLEBUFFER = 2;
  1029. var R3GA_DRAW3D = 4;
  1030. var R3GA_SINGLEBUFFER = 8;
  1031. var R3GA_CLEARREMOVESCOMPLEMENT = 16;
  1032. var R3GA_DISPLAYLISTS = 32;
  1033. var R3GA_RESTORESCANLINE = 64;
  1034. var R3GA_RESTOREALL = 128;
  1035. var R3GA_SHADED = 256;
  1036. var R3GA_SCANLINESB = 512;
  1037. var R3GO_LINES = 0;
  1038. var R3GO_LINE_LOOP = 1;
  1039. var R3GO_POLYGON = 2;
  1040. var R3GO_QUADS = 3;
  1041. var R3GO_QUAD_STRIP = 4;
  1042. var R3GO_TRIANGLE_STRIP = 5;
  1043. var R3GO_TRIANGLE_FAN = 6;
  1044. var R3GO_POINTS = 7;
  1045. var R3CANVASCHANNEL_COLOR = 1;
  1046. var R3CANVASCHANNEL_ALPHA = 2;
  1047. var R3CANVASCHANNEL_DEPTH = 3;
  1048. var R3DCWINDING_CLOCKWISE = 0;
  1049. var R3DCWINDING_COUNTERCLOCKWISE = 1;
  1050.  
  1051.  
  1052. function r3Drawcontext () { 
  1053.    this.base = r3God;
  1054.    if(arguments.length) {
  1055.       this.base(R3CLID_DRAWCONTEXT, arguments);
  1056.    }
  1057.    // Methods
  1058.    this.ENABLEBUFFERS=mR3DCM_ENABLEBUFFERS;
  1059.    this.GETOPTIONS=mR3DCM_GETOPTIONS;
  1060.    this.BITSPERPIXEL=mR3DCM_BITSPERPIXEL;
  1061.    this.CLEAR=mR3DCM_CLEAR;
  1062.    this.SHOWBACKDROP=mR3DCM_SHOWBACKDROP;
  1063.    this.SETCOLORRGBA=mR3DCM_SETCOLORRGBA;
  1064.    this.SETCOLORINDEX=mR3DCM_SETCOLORINDEX;
  1065.    this.SETDRAWMODE=mR3DCM_SETDRAWMODE;
  1066.    this.SETDRAWPATTERN=mR3DCM_SETDRAWPATTERN;
  1067.    this.RECT=mR3DCM_RECT;
  1068.    this.RECTFILL=mR3DCM_RECTFILL;
  1069.    this.LINE=mR3DCM_LINE;
  1070.    this.TEXT=mR3DCM_TEXT;
  1071.    this.POINT=mR3DCM_POINT;
  1072.    this.POLY=mR3DCM_POLY;
  1073.    this.POLYFILL=mR3DCM_POLYFILL;
  1074.    this.BLIT=mR3DCM_BLIT;
  1075.    this.SCANLINEBEGIN=mR3DCM_SCANLINEBEGIN;
  1076.    this.SCANLINEEND=mR3DCM_SCANLINEEND;
  1077.    this.SCANLINE8=mR3DCM_SCANLINE8;
  1078.    this.SCANLINE24=mR3DCM_SCANLINE24;
  1079.    this.SWAPBUFFERS=mR3DCM_SWAPBUFFERS;
  1080.    this.GETCOLORFORINDEX=mR3DCM_GETCOLORFORINDEX;
  1081.    this.TRANSFORMATION=mR3DCM_TRANSFORMATION;
  1082.    this.PUSHSCREENTRANSFORMATI=mR3DCM_PUSHSCREENTRANSFORMATI;
  1083.    this.POPSCREENTRANSFORMATIO=mR3DCM_POPSCREENTRANSFORMATIO;
  1084.    this.PUSHMATRIX=mR3DCM_PUSHMATRIX;
  1085.    this.POPMATRIX=mR3DCM_POPMATRIX;
  1086.    this.POLY3D=mR3DCM_POLY3D;
  1087.    this.POINTS3D=mR3DCM_POINTS3D;
  1088.    this.VERTEX3D=mR3DCM_VERTEX3D;
  1089.    this.NORMAL3D=mR3DCM_NORMAL3D;
  1090.    this.BEGIN3D=mR3DCM_BEGIN3D;
  1091.    this.END3D=mR3DCM_END3D;
  1092.    this.SETSHADED=mR3DCM_SETSHADED;
  1093.    this.LIGHTAMBIENT=mR3DCM_LIGHTAMBIENT;
  1094.    this.LIGHTPOINT=mR3DCM_LIGHTPOINT;
  1095.    this.LIGHTDISTANT=mR3DCM_LIGHTDISTANT;
  1096.    this.LIGHTSPOT=mR3DCM_LIGHTSPOT;
  1097.    this.RGBTEXTURE=mR3DCM_RGBTEXTURE;
  1098.    this.VERTEXCOLOR=mR3DCM_VERTEXCOLOR;
  1099.    this.VERTEXSPECULAR=mR3DCM_VERTEXSPECULAR;
  1100.    this.VERTEXSHININESS=mR3DCM_VERTEXSHININESS;
  1101.    this.VERTEXEMISSION=mR3DCM_VERTEXEMISSION;
  1102.    this.VERTEXTEXTURECOORD=mR3DCM_VERTEXTEXTURECOORD;
  1103.    this.NEWDISPLAYLIST=mR3DCM_NEWDISPLAYLIST;
  1104.    this.ENDDISPLAYLIST=mR3DCM_ENDDISPLAYLIST;
  1105.    this.CALLDISPLAYLIST=mR3DCM_CALLDISPLAYLIST;
  1106.    this.DELETEDISPLAYLISTS=mR3DCM_DELETEDISPLAYLISTS;
  1107.    this.GENDISPLAYLISTS=mR3DCM_GENDISPLAYLISTS;
  1108.    this.ISDISPLAYLIST=mR3DCM_ISDISPLAYLIST;
  1109.    this.DISABLELIGHTING=mR3DCM_DISABLELIGHTING;
  1110.    this.ENABLELIGHTING=mR3DCM_ENABLELIGHTING;
  1111.    this.DISABLEDEPTHTEST=mR3DCM_DISABLEDEPTHTEST;
  1112.    this.ENABLEDEPTHTEST=mR3DCM_ENABLEDEPTHTEST;
  1113.    this.POPTEXTUREMATRIX=mR3DCM_POPTEXTUREMATRIX;
  1114.    this.SPHEREMAP=mR3DCM_SPHEREMAP;
  1115.    this.DRAWICON=mR3DCM_DRAWICON;
  1116.    this.PREPAREIMAGE=mR3DCM_PREPAREIMAGE;
  1117.    this.IMAGE=mR3DCM_IMAGE;
  1118.    this.UNPREPAREIMAGE=mR3DCM_UNPREPAREIMAGE;
  1119.    this.BACKUPRECTANGLE=mR3DCM_BACKUPRECTANGLE;
  1120.    this.RESTORERECTANGLE=mR3DCM_RESTORERECTANGLE;
  1121.    this.CANCELRECTANGLE=mR3DCM_CANCELRECTANGLE;
  1122.    this.GETENABLEDBUFFERS=mR3DCM_GETENABLEDBUFFERS;
  1123.    this.GETDRAWMODE=mR3DCM_GETDRAWMODE;
  1124.    this.SETLINEWIDTH=mR3DCM_SETLINEWIDTH;
  1125.    this.GETLINEWIDTH=mR3DCM_GETLINEWIDTH;
  1126.    this.BEGINMOTION=mR3DCM_BEGINMOTION;
  1127.    this.ENDMOTION=mR3DCM_ENDMOTION;
  1128.    this.BEGINFRAME=mR3DCM_BEGINFRAME;
  1129.    this.ENDFRAME=mR3DCM_ENDFRAME;
  1130.    this.BEGINSAMPLE=mR3DCM_BEGINSAMPLE;
  1131.    this.ENDSAMPLE=mR3DCM_ENDSAMPLE;
  1132.    this.DRAWICON3D=mR3DCM_DRAWICON3D;
  1133.    this.LIGHTPOINTEXT=mR3DCM_LIGHTPOINTEXT;
  1134.    this.LIGHTDISTANTEXT=mR3DCM_LIGHTDISTANTEXT;
  1135.    this.LIGHTSPOTEXT=mR3DCM_LIGHTSPOTEXT;
  1136.    this.GETCHANNELREADINGOPTIO=mR3DCM_GETCHANNELREADINGOPTIO;
  1137.    this.BEGINREADCHANNEL=mR3DCM_BEGINREADCHANNEL;
  1138.    this.ENDREADCHANNEL=mR3DCM_ENDREADCHANNEL;
  1139.    this.READCHANNELROWBYTE=mR3DCM_READCHANNELROWBYTE;
  1140.    this.READCHANNELROWFLOAT=mR3DCM_READCHANNELROWFLOAT;
  1141.    this.GETOWNERTHREAD=mR3DCM_GETOWNERTHREAD;
  1142.    this.SETSPECULARCOLORRGBA=mR3DCM_SETSPECULARCOLORRGBA;
  1143.    this.DRAWPOLYINDIRECT=mR3DCM_DRAWPOLYINDIRECT;
  1144.    this.RESTOREFROMBACKUP=mR3DCM_RESTOREFROMBACKUP;
  1145.    this.SETFRONTFACE=mR3DCM_SETFRONTFACE;
  1146.    this.DRAWFACEARRAY=mR3DCM_DRAWFACEARRAY;
  1147.    this.SETEMISSIONCOLORRGBA=mR3DCM_SETEMISSIONCOLORRGBA;
  1148.  
  1149.    // Attributes
  1150.    this.SetFont=SetR3DCA_Font;
  1151.    this.SetShaded=SetR3DCA_Shaded;
  1152.    this.SetCoordSys=SetR3DCA_CoordSys;
  1153.    this.SetScale=SetR3DCA_Scale;
  1154.    this.SetWidth=SetR3DCA_Width;
  1155.    this.SetHeight=SetR3DCA_Height;
  1156.    this.SetPerspective=SetR3DCA_Perspective;
  1157.    this.SetDoubleBuffer=SetR3DCA_DoubleBuffer;
  1158.    this.SetOverlay=SetR3DCA_Overlay;
  1159.    this.SetDoubleBufferOverlays=SetR3DCA_DoubleBufferOverlays;
  1160.    this.SetBackDrop=SetR3DCA_BackDrop;
  1161.    this.SetBackUp=SetR3DCA_BackUp;
  1162.    this.SetClipMinX=SetR3DCA_ClipMinX;
  1163.    this.SetDepth=SetR3DCA_Depth;
  1164.    this.SetMinClipDist=SetR3DCA_MinClipDist;
  1165.    this.SetMaxClipDist=SetR3DCA_MaxClipDist;
  1166.    this.GetGlobalAlpha=GetR3DCA_GlobalAlpha;
  1167.    this.SetGlobalAlpha=SetR3DCA_GlobalAlpha;
  1168.    this.SetNoVertPersp=SetR3DCA_NoVertPersp;
  1169.    this.SetPixelAspect=SetR3DCA_PixelAspect;
  1170.    this.GetMaster=GetR3DCA_Master;
  1171.    this.SetMaster=SetR3DCA_Master;
  1172. }
  1173.  
  1174. r3Drawcontext.prototype=new r3Root;
  1175. // r3dc.h_H